﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Extentions;

namespace TrainingReminderSystem.Model
{
    /// <summary>
    /// 权限
    /// </summary>
    [ExLanguageKey("SysPower")]
    public partial class SysPowerExList
    {
        /// <summary>
        /// 权限ID
        /// </summary>
        [ExLanguageKey("SysPowerID")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public int SysPowerID { get; set; }

        /// <summary>
        /// 所属父级
        /// </summary>
        [ExLanguageKey("ParentID")]
        public int? ParentID { get; set; }

        /// <summary>
        /// 权限类型;菜单=0,按钮=1,特殊权限=2
        /// </summary>
        [ExLanguageKey("EnumPowerType")]
        public EnumPowerType EnumPowerType { get; set; }

        /// <summary>
        /// 权限名称
        /// </summary>
        [ExLanguageKey("SysPowerName")]
        public string SysPowerName { get; set; }

        /// <summary>
        /// 页面模块名称
        /// </summary>
        [ExLanguageKey("WebPath")]
        public string WebPath { get; set; }

        /// <summary>
        /// 链接相关;如:webapi的服务端ajax地址(多个以逗号隔开)
        /// </summary>
        [ExLanguageKey("SysPowerValue")]
        public string SysPowerValue { get; set; }

        /// <summary>
        /// 链接相关2;如:页面需要的其它路径(多个以逗号隔开)
        /// </summary>
        [ExLanguageKey("SysPowerValue2")]
        public string SysPowerValue2 { get; set; }

        /// <summary>
        /// 相关Json对象
        /// </summary>
        [ExLanguageKey("Json")]
        public string Json { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        [ExLanguageKey("OrderID")]
        public int OrderID { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        [ExLanguageKey("IsDel")]
        public bool IsDel { get; set; }

        /// <summary>
        /// 是否在操作列表里;暂时未使用
        /// </summary>
        [ExLanguageKey("IsInOp")]
        public bool IsInOp { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [ExLanguageKey("Remark")]
        public string Remark { get; set; }

        /// <summary>
        /// 权限
        /// </summary>
        [ExNoModify]
        [ExLanguageKey("Parent")]
        public SysPowerExPart Parent { get; set; }
    }
}
